/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package opera.view.PaineisDeAlteracao;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JRadioButton;
import opera.model.Equipamento;
import opera.model.Equipamento_Arma_Branca;
import opera.model.Equipamento_Arma_Fogo;
import opera.model.Equipamento_Armadura;
import opera.model.Equipamento_Item;
import opera.model.Jogo;
import opera.view.MoldePaineis;
import opera.view.PaineisDeCadastro.PnlCadastrarEquipamento_Arma;
import opera.view.PaineisDeCadastro.PnlCadastrarEquipamento_Armadura;
import opera.view.PaineisDeCadastro.PnlCadastrarEquipamento_Geral;

/**
 *
 * @author Luciano
 */
public class PnlAlterarEquipamento extends MoldePaineis {

    /**
     * Creates new form PnlAlterarEquipamento
     */
    public PnlAlterarEquipamento(Jogo jogo) {
        initComponents();
        setJogo(jogo);
        
        pnlCadastrarEquipamento_Geral.getPnlNovoEquipamento().setBorder(BorderFactory.createTitledBorder("Equipamento"));
        pnlCadastrarEquipamento_Armadura.getPnlNovaArmadura().setBorder(BorderFactory.createTitledBorder("Armadura"));
        pnlCadastrarEquipamento_Arma.getPnlNovaArma().setBorder(BorderFactory.createTitledBorder("Arma"));
        pnlCadastrarEquipamento_Arma.getPnlNovaArmaBranca().setBorder(BorderFactory.createTitledBorder("Arma Branca"));
        pnlCadastrarEquipamento_Arma.getPnlNovaArmaDeFogo().setBorder(BorderFactory.createTitledBorder("Arma de Fogo"));
        
        pnlCadastrarEquipamento_Geral.getBtnCadastrar().setVisible(false);
        pnlCadastrarEquipamento_Geral.getBtnCancelar().setVisible(false);
        pnlCadastrarEquipamento_Arma.getBtnCadastrar().setVisible(false);
        pnlCadastrarEquipamento_Arma.getBtnCancelar().setVisible(false);
        pnlCadastrarEquipamento_Arma.getBtnVoltar().setVisible(false);
        pnlCadastrarEquipamento_Armadura.getBtnCadastrar().setVisible(false);
        pnlCadastrarEquipamento_Armadura.getBtnVoltar().setVisible(false);
        
        pnlCadastrarEquipamento_Geral.getRdbArma().setEnabled(false);
        pnlCadastrarEquipamento_Geral.getRdbArmadura().setEnabled(false);
        pnlCadastrarEquipamento_Geral.getRdbItem().setEnabled(false);
        
        pnlCadastrarEquipamento_Arma.getRdbArmaBranca().setEnabled(false);
        pnlCadastrarEquipamento_Arma.getRdbArmaDeFogo().setEnabled(false);
        
        habilitarCampos(false);
        
        carregarCmbSelecionar(rdbArmadura);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        grpTipoEquipamento = new javax.swing.ButtonGroup();
        jPanel1 = new javax.swing.JPanel();
        rdbArmaBranca = new javax.swing.JRadioButton();
        rdbArmaDeFogo = new javax.swing.JRadioButton();
        rdbArmadura = new javax.swing.JRadioButton();
        rdbItem = new javax.swing.JRadioButton();
        jPanel2 = new javax.swing.JPanel();
        lblSelecionar = new javax.swing.JLabel();
        cmbSelecionar = new javax.swing.JComboBox();
        btnAlterar = new javax.swing.JButton();
        pnlCadastrarEquipamento_Geral = new opera.view.PaineisDeCadastro.PnlCadastrarEquipamento_Geral();
        pnlCadastrarEquipamento_Arma = new opera.view.PaineisDeCadastro.PnlCadastrarEquipamento_Arma();
        pnlCadastrarEquipamento_Armadura = new opera.view.PaineisDeCadastro.PnlCadastrarEquipamento_Armadura();

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Tipo de Equipamento"));

        grpTipoEquipamento.add(rdbArmaBranca);
        rdbArmaBranca.setText("Arma Branca");
        rdbArmaBranca.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rdbArmaBrancaActionPerformed(evt);
            }
        });

        grpTipoEquipamento.add(rdbArmaDeFogo);
        rdbArmaDeFogo.setText("Arma de Fogo");
        rdbArmaDeFogo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rdbArmaDeFogoActionPerformed(evt);
            }
        });

        grpTipoEquipamento.add(rdbArmadura);
        rdbArmadura.setSelected(true);
        rdbArmadura.setText("Armadura");
        rdbArmadura.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rdbArmaduraActionPerformed(evt);
            }
        });

        grpTipoEquipamento.add(rdbItem);
        rdbItem.setText("Item");
        rdbItem.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rdbItemActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(rdbArmadura)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(rdbArmaBranca)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(rdbArmaDeFogo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(rdbItem)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(rdbArmaBranca)
                    .addComponent(rdbArmaDeFogo)
                    .addComponent(rdbArmadura)
                    .addComponent(rdbItem))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Selecionar Equipamento"));

        lblSelecionar.setText("Selecionar Armadura:");

        cmbSelecionar.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        cmbSelecionar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmbSelecionarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblSelecionar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(cmbSelecionar, 0, 168, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblSelecionar)
                    .addComponent(cmbSelecionar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        btnAlterar.setText("Alterar");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(pnlCadastrarEquipamento_Geral, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(pnlCadastrarEquipamento_Arma, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(btnAlterar)
                        .addComponent(pnlCadastrarEquipamento_Armadura, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(52, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(pnlCadastrarEquipamento_Geral, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(pnlCadastrarEquipamento_Arma, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(pnlCadastrarEquipamento_Armadura, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(btnAlterar)))
                .addContainerGap(78, Short.MAX_VALUE))
        );
    }// </editor-fold>//GEN-END:initComponents

    private void rdbArmaBrancaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdbArmaBrancaActionPerformed
        // TODO add your handling code here:
        pnlCadastrarEquipamento_Geral.getRdbArma().setSelected(true);
        pnlCadastrarEquipamento_Arma.getRdbArmaBranca().setSelected(true);
        pnlCadastrarEquipamento_Arma.habilitarCamposArmaBranca();
        habilitarCamposArmadura(false);
        
        carregarCmbSelecionar(rdbArmaBranca);
        
        lblSelecionar.setText("Selecionar Arma Branca:");
        
        limparCampos();
        
        habilitarCampos(false);
        
    }//GEN-LAST:event_rdbArmaBrancaActionPerformed

    private void rdbArmaDeFogoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdbArmaDeFogoActionPerformed
        // TODO add your handling code here:
        pnlCadastrarEquipamento_Geral.getRdbArma().setSelected(true);
        pnlCadastrarEquipamento_Arma.getRdbArmaDeFogo().setSelected(true);
        pnlCadastrarEquipamento_Arma.habilitarCamposArmaDeFogo();
        habilitarCamposArmadura(false);
        
        carregarCmbSelecionar(rdbArmaDeFogo);
        
        lblSelecionar.setText("Selecionar Arma De Fogo:");
        
        limparCampos();
        
        habilitarCampos(false);
        
    }//GEN-LAST:event_rdbArmaDeFogoActionPerformed

    private void rdbArmaduraActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdbArmaduraActionPerformed
        // TODO add your handling code here:
        pnlCadastrarEquipamento_Geral.getRdbArmadura().setSelected(true);
        habilitarCamposArma(false);
        habilitarCamposArmadura(true);
        
        carregarCmbSelecionar(rdbArmadura);
        
        lblSelecionar.setText("Selecionar Armadura:");
        
        limparCampos();
        
        habilitarCampos(false);
        
    }//GEN-LAST:event_rdbArmaduraActionPerformed

    private void rdbItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rdbItemActionPerformed
        // TODO add your handling code here:
        pnlCadastrarEquipamento_Geral.getRdbItem().setSelected(true);
        habilitarCamposArma(false);
        habilitarCamposArmadura(false);
        carregarCmbSelecionar(rdbItem);
        lblSelecionar.setText("Selecionar Item:");
        limparCampos();
        habilitarCampos(false);
        
    }//GEN-LAST:event_rdbItemActionPerformed

    private void cmbSelecionarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmbSelecionarActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_cmbSelecionarActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnAlterar;
    private javax.swing.JComboBox cmbSelecionar;
    private javax.swing.ButtonGroup grpTipoEquipamento;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JLabel lblSelecionar;
    private opera.view.PaineisDeCadastro.PnlCadastrarEquipamento_Arma pnlCadastrarEquipamento_Arma;
    private opera.view.PaineisDeCadastro.PnlCadastrarEquipamento_Armadura pnlCadastrarEquipamento_Armadura;
    private opera.view.PaineisDeCadastro.PnlCadastrarEquipamento_Geral pnlCadastrarEquipamento_Geral;
    private javax.swing.JRadioButton rdbArmaBranca;
    private javax.swing.JRadioButton rdbArmaDeFogo;
    private javax.swing.JRadioButton rdbArmadura;
    private javax.swing.JRadioButton rdbItem;
    // End of variables declaration//GEN-END:variables
    private Jogo jogo;
    private String endereco;
    private Equipamento equipamento;
    Equipamento_Arma_Branca arma_Branca = null;
    Equipamento_Arma_Fogo arma_Fogo = null;
    Equipamento_Armadura armadura = null;
    Equipamento_Item item = null;
    
       
    
    public void preencherCampos() throws IOException, ClassNotFoundException{
        
        String itemSelecionado = (String) cmbSelecionar.getSelectedItem();
        
        String enderecoObjeto = endereco + "\\" + itemSelecionado +".txt";
        
        FileInputStream fis = new FileInputStream(enderecoObjeto);
        try (ObjectInputStream ois = new ObjectInputStream(fis)) {
            equipamento = (Equipamento) ois.readObject();
        }
        
        if(equipamento instanceof Equipamento_Arma_Branca){
            arma_Branca = (Equipamento_Arma_Branca) equipamento;
            arma_Fogo = null;
            armadura = null;
            item = null;
        }else if(equipamento instanceof Equipamento_Arma_Fogo){
            arma_Fogo = (Equipamento_Arma_Fogo) equipamento;
            arma_Branca = null;
            armadura = null;
            item = null;
        }else if(equipamento instanceof Equipamento_Armadura){
            armadura = (Equipamento_Armadura) equipamento;
            arma_Fogo = null;
            arma_Branca = null;
            item = null;
        }else{
            item = (Equipamento_Item) equipamento;
            arma_Fogo = null;
            arma_Branca = null;
            armadura = null;
        }
        
        //Campos Equipamento Geral
        pnlCadastrarEquipamento_Geral.getTxtNome().setText(equipamento.getNome());
        pnlCadastrarEquipamento_Geral.getTxtDescricao().setText(equipamento.getDescricao());
        pnlCadastrarEquipamento_Geral.getTxtPreco().setText(""+equipamento.getPreco());
        
        if(equipamento.getBonus_Atributo() != null){
            
            if(equipamento.getBonus_Atributo()[0] > 0){
                pnlCadastrarEquipamento_Geral.getChkFisico().setSelected(true);
                pnlCadastrarEquipamento_Geral.getTxtFisico().setEditable(true);
                pnlCadastrarEquipamento_Geral.getTxtFisico().setText(""+equipamento.getBonus_Atributo()[0]);
            }
            if(equipamento.getBonus_Atributo()[1] > 0){
                pnlCadastrarEquipamento_Geral.getChkDestreza().setSelected(true);
                pnlCadastrarEquipamento_Geral.getTxtDestreza().setEditable(true);
                pnlCadastrarEquipamento_Geral.getTxtDestreza().setText(""+equipamento.getBonus_Atributo()[1]);
            }
            if(equipamento.getBonus_Atributo()[2] > 0){
                pnlCadastrarEquipamento_Geral.getChkInteligencia().setSelected(true);
                pnlCadastrarEquipamento_Geral.getTxtInteligencia().setEditable(true);
                pnlCadastrarEquipamento_Geral.getTxtInteligencia().setText(""+equipamento.getBonus_Atributo()[2]);
            }
            if(equipamento.getBonus_Atributo()[3] > 0){
                pnlCadastrarEquipamento_Geral.getChkVontade().setSelected(true);
                pnlCadastrarEquipamento_Geral.getTxtVontade().setEditable(true);
                pnlCadastrarEquipamento_Geral.getTxtVontade().setText(""+equipamento.getBonus_Atributo()[3]);
            }
            if(equipamento.getBonus_Atributo()[4] > 0){
                pnlCadastrarEquipamento_Geral.getChkPercepcao().setSelected(true);
                pnlCadastrarEquipamento_Geral.getTxtPercepcao().setEditable(true);
                pnlCadastrarEquipamento_Geral.getTxtPercepcao().setText(""+equipamento.getBonus_Atributo()[4]);
            }
            if(equipamento.getBonus_Atributo()[5] > 0){
                pnlCadastrarEquipamento_Geral.getChkMana().setSelected(true);
                pnlCadastrarEquipamento_Geral.getTxtMana().setEditable(true);
                pnlCadastrarEquipamento_Geral.getTxtMana().setText(""+equipamento.getBonus_Atributo()[5]);
            }
            if(equipamento.getBonus_Atributo()[6] > 0){
                pnlCadastrarEquipamento_Geral.getChkMente().setSelected(true);
                pnlCadastrarEquipamento_Geral.getTxtMente().setEditable(true);
                pnlCadastrarEquipamento_Geral.getTxtMente().setText(""+equipamento.getBonus_Atributo()[6]);
            }
            if(equipamento.getBonus_Atributo()[7] > 0){
                pnlCadastrarEquipamento_Geral.getChkSorte().setSelected(true);
                pnlCadastrarEquipamento_Geral.getTxtSorte().setEditable(true);
                pnlCadastrarEquipamento_Geral.getTxtSorte().setText(""+equipamento.getBonus_Atributo()[7]);
            }
            
        }
        
        //Se for ITEM
        if(item != null){
            habilitarCamposArma(false);
            habilitarCamposArmadura(false);
        }
        
        //Campos Equipamento Arma
        //Se for arma branca
        if(arma_Branca != null){
            habilitarCamposArma(true);
            habilitarCamposArmadura(false);
            pnlCadastrarEquipamento_Arma.habilitarCamposArmaBranca();
            pnlCadastrarEquipamento_Arma.getTxtTipo().setText(""+arma_Branca.getTipo());
            pnlCadastrarEquipamento_Arma.getTxtDanoAdicional().setText(""+arma_Branca.getDanoAdicional());
            pnlCadastrarEquipamento_Arma.getTxtGolpe().setText(""+arma_Branca.getGolpe());
            pnlCadastrarEquipamento_Arma.getTxtAparo().setText(""+arma_Branca.getAparo());
            pnlCadastrarEquipamento_Arma.getTxtEsquiva().setText(""+arma_Branca.getEsquiva());
        }
        //Se for arma de fogo
        if(arma_Fogo != null){
            habilitarCamposArma(true);
            habilitarCamposArmadura(false);
            pnlCadastrarEquipamento_Arma.habilitarCamposArmaDeFogo();
            pnlCadastrarEquipamento_Arma.getTxtTipo().setText(""+arma_Fogo.getTipo());
            pnlCadastrarEquipamento_Arma.getTxtDanoAdicional().setText(""+arma_Fogo.getDanoAdicional());
            pnlCadastrarEquipamento_Arma.getTxtTiroRapido().setText(""+arma_Fogo.getTipo());
            pnlCadastrarEquipamento_Arma.getTxtTiroMirado().setText(""+arma_Fogo.getTipo());
            pnlCadastrarEquipamento_Arma.getTxtCadencia().setText(""+arma_Fogo.getTipo());
        }
        
        //Campos Equipamento Armadura
        if(armadura != null){
            habilitarCamposArmadura(true);
            habilitarCamposArma(false);
            pnlCadastrarEquipamento_Armadura.getTxtAbsorcaoArmaBranca().setText(""+armadura.getAbsorcao_Arma_Branca());
            pnlCadastrarEquipamento_Armadura.getTxtAbsorcaoArmaDeFogo().setText(""+armadura.getAbsorcao_Arma_De_Fogo());
            pnlCadastrarEquipamento_Armadura.getTxtPenalidade().setText(""+armadura.getPenalidade());
            pnlCadastrarEquipamento_Armadura.getTxtRegiaoDoCorpo().setText(""+armadura.getRegiao_Do_Corpo());
        }
        
    }
    
    @Override
    public void atualizarJComboBox(){
        
        JRadioButton rdbSelecionado = null;
        
        if(rdbArmaBranca.isSelected()){
            rdbSelecionado = rdbArmaBranca;
        }
        if(rdbArmaDeFogo.isSelected()){
            rdbSelecionado = rdbArmaDeFogo;
        }
        if(rdbArmadura.isSelected()){
            rdbSelecionado = rdbArmadura;
        }
        if(rdbItem.isSelected()){
            rdbSelecionado = rdbItem;
        }
        
        carregarCmbSelecionar(rdbSelecionado);
    }
    
    public final void carregarCmbSelecionar(JRadioButton rdb){
        
        String carregar = null;
        
        if(rdb.getText().equals(rdbArmaBranca.getText())){
            carregar = "\\Equipamentos\\Arma\\Arma Branca";
        }
        if(rdb.getText().equals(rdbArmaDeFogo.getText())){
            carregar = "\\Equipamentos\\Arma\\Arma de Fogo";
        }
        if(rdb.getText().equals(rdbArmadura.getText())){
            carregar = "\\Equipamentos\\Armadura";
        }
        if(rdb.getText().equals(rdbItem.getText())){
            carregar = "\\Equipamentos\\Item";
        }
        
        cmbSelecionar.setModel(new javax.swing.DefaultComboBoxModel(new String[] { ""}));
        File diretorio;
        diretorio = new File("C:\\Opera\\Jogos\\" + jogo.getNome() + "\\" + carregar);
        
        endereco = diretorio.getAbsolutePath();
        
        if(diretorio.exists()){
            //statusDiretorio = diretorio.mkdir();
            String diretorios[] = diretorio.list();
            for(int i = 0; i < diretorios.length; i++){
                //System.out.println(diretorios[i]);
                String item = diretorios[i].substring(0, (diretorios[i].length()-4) );
                cmbSelecionar.addItem(item);
            }
        }
    }
    
    public void habilitarCamposArma(boolean habilitar){
        //Campos Equipamento Arma
        //pnlCadastrarEquipamento_Arma.getPnlNovaArma().setEnabled(habilitar);
        //pnlCadastrarEquipamento_Arma.getPnlNovaArmaBranca().setEnabled(habilitar);
        //pnlCadastrarEquipamento_Arma.getPnlNovaArmaDeFogo().setEnabled(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtTipo().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtDanoAdicional().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtGolpe().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtAparo().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtEsquiva().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtTiroRapido().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtTiroMirado().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtCadencia().setEditable(habilitar);
    }
    
    public void habilitarCamposArmadura(boolean habilitar){
        //pnlCadastrarEquipamento_Armadura.getPnlNovaArmadura().setEnabled(habilitar);
        pnlCadastrarEquipamento_Armadura.getTxtAbsorcaoArmaBranca().setEditable(habilitar);
        pnlCadastrarEquipamento_Armadura.getTxtAbsorcaoArmaDeFogo().setEditable(habilitar);
        pnlCadastrarEquipamento_Armadura.getTxtPenalidade().setEditable(habilitar);
        pnlCadastrarEquipamento_Armadura.getTxtRegiaoDoCorpo().setEditable(habilitar);
    }
    
    public final void habilitarCampos(boolean habilitar){

        //Campos Equipamento Geral
        pnlCadastrarEquipamento_Geral.getTxtNome().setEditable(habilitar);
        pnlCadastrarEquipamento_Geral.getTxtDescricao().setEditable(habilitar);
        pnlCadastrarEquipamento_Geral.getTxtPreco().setEditable(habilitar);
        
        pnlCadastrarEquipamento_Geral.getChkFisico().setEnabled(habilitar);
        pnlCadastrarEquipamento_Geral.getChkDestreza().setEnabled(habilitar);
        pnlCadastrarEquipamento_Geral.getChkInteligencia().setEnabled(habilitar);
        pnlCadastrarEquipamento_Geral.getChkVontade().setEnabled(habilitar);
        pnlCadastrarEquipamento_Geral.getChkPercepcao().setEnabled(habilitar);
        pnlCadastrarEquipamento_Geral.getChkMente().setEnabled(habilitar);
        pnlCadastrarEquipamento_Geral.getChkMana().setEnabled(habilitar);
        pnlCadastrarEquipamento_Geral.getChkSorte().setEnabled(habilitar);
        
        
        //Campos Equipamento Arma
        pnlCadastrarEquipamento_Arma.getTxtTipo().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtDanoAdicional().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtGolpe().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtAparo().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtEsquiva().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtTiroRapido().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtTiroMirado().setEditable(habilitar);
        pnlCadastrarEquipamento_Arma.getTxtCadencia().setEditable(habilitar);
        
        
        //Campos Equipamento Armadura
        pnlCadastrarEquipamento_Armadura.getTxtAbsorcaoArmaBranca().setEditable(habilitar);
        pnlCadastrarEquipamento_Armadura.getTxtAbsorcaoArmaDeFogo().setEditable(habilitar);
        pnlCadastrarEquipamento_Armadura.getTxtPenalidade().setEditable(habilitar);
        pnlCadastrarEquipamento_Armadura.getTxtRegiaoDoCorpo().setEditable(habilitar);
        
    }
    
    
    public Jogo getJogo() {
        return jogo;
    }

    public final void setJogo(Jogo jogo) {
        this.jogo = jogo;
    }

    public PnlCadastrarEquipamento_Arma getPnlCadastrarEquipamento_Arma() {
        return pnlCadastrarEquipamento_Arma;
    }

    public void setPnlCadastrarEquipamento_Arma(PnlCadastrarEquipamento_Arma pnlCadastrarEquipamento_Arma) {
        this.pnlCadastrarEquipamento_Arma = pnlCadastrarEquipamento_Arma;
    }

    public PnlCadastrarEquipamento_Armadura getPnlCadastrarEquipamento_Armadura() {
        return pnlCadastrarEquipamento_Armadura;
    }

    public void setPnlCadastrarEquipamento_Armadura(PnlCadastrarEquipamento_Armadura pnlCadastrarEquipamento_Armadura) {
        this.pnlCadastrarEquipamento_Armadura = pnlCadastrarEquipamento_Armadura;
    }

    public PnlCadastrarEquipamento_Geral getPnlCadastrarEquipamento_Geral() {
        return pnlCadastrarEquipamento_Geral;
    }

    public void setPnlCadastrarEquipamento_Geral(PnlCadastrarEquipamento_Geral pnlCadastrarEquipamento_Geral) {
        this.pnlCadastrarEquipamento_Geral = pnlCadastrarEquipamento_Geral;
    }

    public JComboBox getCmbSelecionar() {
        return cmbSelecionar;
    }

    public void setCmbSelecionar(JComboBox cmbSelecionar) {
        this.cmbSelecionar = cmbSelecionar;
    }

    public Equipamento_Arma_Branca getArma_Branca() {
        return arma_Branca;
    }

    public void setArma_Branca(Equipamento_Arma_Branca arma_Branca) {
        this.arma_Branca = arma_Branca;
    }

    public Equipamento_Arma_Fogo getArma_Fogo() {
        return arma_Fogo;
    }

    public void setArma_Fogo(Equipamento_Arma_Fogo arma_Fogo) {
        this.arma_Fogo = arma_Fogo;
    }

    public Equipamento_Armadura getArmadura() {
        return armadura;
    }

    public Equipamento_Item getItem() {
        return item;
    }

    public void setItem(Equipamento_Item item) {
        this.item = item;
    }

    public void setArmadura(Equipamento_Armadura armadura) {
        this.armadura = armadura;
    }

    public JButton getBtnAlterar() {
        return btnAlterar;
    }

    public void setBtnAlterar(JButton btnAlterar) {
        this.btnAlterar = btnAlterar;
    }

    public Equipamento getEquipamento() {
        return equipamento;
    }

    public void setEquipamento(Equipamento equipamento) {
        this.equipamento = equipamento;
    }

    public JRadioButton getRdbArmaBranca() {
        return rdbArmaBranca;
    }

    public void setRdbArmaBranca(JRadioButton rdbArmaBranca) {
        this.rdbArmaBranca = rdbArmaBranca;
    }

    public JRadioButton getRdbArmaDeFogo() {
        return rdbArmaDeFogo;
    }

    public void setRdbArmaDeFogo(JRadioButton rdbArmaDeFogo) {
        this.rdbArmaDeFogo = rdbArmaDeFogo;
    }

    public JRadioButton getRdbArmadura() {
        return rdbArmadura;
    }

    public void setRdbArmadura(JRadioButton rdbArmadura) {
        this.rdbArmadura = rdbArmadura;
    }

    public ButtonGroup getGrpTipoEquipamento() {
        return grpTipoEquipamento;
    }

    public void setGrpTipoEquipamento(ButtonGroup grpTipoEquipamento) {
        this.grpTipoEquipamento = grpTipoEquipamento;
    }
    
    
    
    
    
    
}
